package department.fc.common;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/*
 * 모든 컨트롤러가 상속받아야 하는 컨트롤러 인터페이스
 * 인터페이스가 하는 역할 그대로 컨트롤러 인터페이스는 모든 컨트롤러가 기본적으로 구현해야 하는 메소드를 정의 해놓고 있다
 * AttrobuteAndView타입을 리턴하는 handleRequest메서드는 요청과 응답을 받아서 각자의 메서드를 처리한다.  
 * 또한 모든 종류의 익셉션을 이 컨트롤러 인터페이스를 구현한 컨트롤러 객체들이 던질 수 있도록 최상위 익셉션 클래스를 쓰로우 하고 있다.
 */
public interface Controller {
	public abstract AttributeAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception;
}
